<?xml version="1.0"?>
<doc>
    <assembly>
        <name>ImageResizer.Plugins.PrettyGifs</name>
    </assembly>
    <members>
        <member name="F:ImageResizer.Plugins.PrettyGifs.PrettyGifs.Colors">
            <summary>
            The number of colors to use. Only applicable for png, gif, and bmp photos where palletes can be used.
            The default is -1, which means "as much color fidelity as possible". 
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.PrettyGifs.Dither">
            <summary>
            Enables dithering for PNG8 and GIF
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.PrettyGifs.CreateIfSuitable(ImageResizer.ResizeSettings,System.Object)">
            <summary>
            Returns an encoder instance if a Gif or 8-bit png is requested.
            </summary>
            <param name="originalImage"></param>
            <param name="settings"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.PrettyGifs.Write(System.Drawing.Image,System.IO.Stream)">
            <summary>
            Writes the indexed PNG or GIF file
            </summary>
            <param name="i"></param>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.PrettyGifs.SaveIndexed(System.Drawing.Imaging.ImageFormat,System.Drawing.Image,System.IO.Stream,System.Byte,System.Boolean,System.Boolean,System.Int32)">
            <summary>
            
            </summary>
            <param name="format"></param>
            <param name="img"></param>
            <param name="target"></param>
            <param name="colors"></param>
            <param name="dither"></param>
            <param name="fourPass"></param>
            <param name="ditherPercent"></param>
            <param name="useGdiQuantization"></param>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.PrettyGifs.GetBitsNeededForColorDepth(System.Byte)">
            <summary>
            Returns how many bits are required to store the specified number of colors. Performs a Log2() on the value.
            </summary>
            <param name="colors"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.PrettyGifs.IsValidOutputFormat(System.Drawing.Imaging.ImageFormat)">
            <summary>
            Returns true if the this encoder supports the specified image format
            </summary>
            <param name="f"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.PrettyGifs.PreservePalette">
            <summary>
            If true, the original palette will be used if it exists. May cause serious color problems if new content has been added to the image.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.PrettyGifs.OutputFormat">
            <summary>
            If you set this to anything other than Gif or Png, it will throw an exception. Defaults to GIF.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.PrettyGifs.HasFullTrust">
            <summary>
            Returns true if the assembly can call unmanged code (i.e, has full trust)
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer">
            <summary>
            Quantize using an Octree
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.PrettyGifs.Quantizer">
            <summary>
            Abstract Quantizer class - handles the messy, algorithm-independent details of quantization. 
            Subclasses must implement InitialQuantizePixel, GetPallete(), and QuantizePixel. Not thread-safe!
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.Quantizer.#ctor(System.Boolean)">
            <summary>
            Construct the quantizer
            </summary>
            <param name="fixedPalette">If true, the quantization only needs to loop through the source pixels once - InitialQuantiize</param>
            <remarks>
            If you construct this class with a true value for singlePass, then the code will, when quantizing your image,
            only call the 'QuantizeImage' function. If two passes are required, the code will call 'InitialQuantizeImage'
            and then 'QuantizeImage'.
            </remarks>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.Quantizer.Reset">
            <summary>
            Resets the quantizer so it can process a new image. 
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.Quantizer.Quantize(System.Drawing.Image)">
            <summary>
            Quantize an image and return the resulting output bitmap
            </summary>
            <param name="source">The image to quantize</param>
            <returns>A quantized version of the image</returns>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.Quantizer.AnalyzeImage(System.Drawing.Imaging.BitmapData,System.Int32,System.Int32)">
            <summary>
            Execute the first pass through the pixels in the image
            </summary>
            <param name="sourceData">The source data</param>
            <param name="width">The width in pixels of the image</param>
            <param name="height">The height in pixels of the image</param>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.Quantizer.QuantizeImage(System.Drawing.Imaging.BitmapData,System.Drawing.Imaging.BitmapData,System.Drawing.Bitmap,System.Int32,System.Int32,System.Drawing.Rectangle)">
            <summary>
            Execute a second pass through the bitmap. If dithering is enabled, sourceData will be modified. 
            </summary>
            <param name="sourceData">The source bitmap, locked into memory</param>
            <param name="intermediate">The intermediate bitmap, used for 4-pass quantization. If specified, output will not actually be modified</param>
            <param name="output">The output bitmap</param>
            <param name="width">The width in pixels of the image</param>
            <param name="height">The height in pixels of the image</param>
            <param name="bounds">The bounding rectangle</param>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.Quantizer.AdjustNeighborSource(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
             <summary>
             Can only be called from QuantizePixel...
            This is how dithering is done... 
            5-18-09 ndj
             </summary>
             <param name="offsetX"></param>
             <param name="offsetY"></param>
             <param name="deltaR"></param>
             <param name="deltaG"></param>
             <param name="deltaB"></param>
             <param name="deltaA"></param>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.Quantizer.InitialQuantizePixel(ImageResizer.Plugins.PrettyGifs.Quantizer.Color32)">
            <summary>
            Override this to process the pixel in the first pass of the algorithm
            </summary>
            <param name="pixel">The pixel to quantize</param>
            <remarks>
            This function need only be overridden if your quantize algorithm needs two passes,
            such as an Octree quantizer.
            </remarks>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.Quantizer.QuantizePixel(ImageResizer.Plugins.PrettyGifs.Quantizer.Color32)">
            <summary>
            Override this to process the pixel in the second pass of the algorithm
            </summary>
            <param name="pixel">The pixel to quantize</param>
            <returns>The quantized value</returns>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.Quantizer.GetPalette(System.Drawing.Imaging.ColorPalette)">
            <summary>
            Retrieve the palette for the quantized image
            </summary>
            <param name="original">Any old palette, this is overrwritten</param>
            <returns>The new color palette</returns>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.Quantizer.FixedPalette">
            <summary>
            (Readonly) If true, the algorithm can do everything in QuantizePixel, and InitialQuantizePixel will not be called. Implies ResizeForFirstPass=False and FourPass=false=
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.Quantizer.PixelSize">
            <summary>
            The number of bytes in a ARGB structure. Should be 4
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.Quantizer.FullTrust">
            <summary>
            If true, pointer arithmetic will be used instead of GetPixel. GetPixel is much slower. If false, OmitFinalStage will be assumed true, as only palette generation is possible in low trust.
            Defaults to true.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.Quantizer.ResizeForFirstPass">
            <summary>
            If true, the first pass (InitialQuantizePixel) will be performed on a size-limited version of the original image to control performance. Ignored if FixedPalette=True
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.Quantizer.FirstPassPixelCount">
            <summary>
            The approximate number of pixels to use when making a scaled copy of the image for the first pass. Only used when ResizeForFirstPass=True and FirstPassPixelThreshold is exceeded.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.Quantizer.FirstPassPixelThreshold">
            <summary>
            The maximum number of pixels the original image may contain before a scaled copy is made for the first pass. 
            Only relevant when ResizeForFirstPass=True
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.Quantizer.FourPass">
            <summary>
            If true, image is re-paletted after quantization - forces 2 clones of the original image to be created. FixedPalette and OmitFinalStage should be false if this is used.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.Quantizer.OmitFinalStage">
            <summary>
            If true, a 32-bit image with an 8-bit palette will be returned instead of an 8-bit image, which GDI can save using median-cut quantization. Much faster than our final quantization pass, although it can't do transparency.
            Assumed true if FullTrust is false.
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.PrettyGifs.Quantizer.Color32">
            <summary>
            Struct that defines a 32 bpp colour
            </summary>
            <remarks>
            This struct is used to read data from a 32 bits per pixel image
            in memory, and is ordered in this manner as this is the way that
            the data is layed out in memory
            </remarks>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.Quantizer.Color32.Blue">
            <summary>
            Holds the blue component of the colour
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.Quantizer.Color32.Green">
            <summary>
            Holds the green component of the colour
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.Quantizer.Color32.Red">
            <summary>
            Holds the red component of the colour
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.Quantizer.Color32.Alpha">
            <summary>
            Holds the alpha component of the colour
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.Quantizer.Color32.ARGB">
            <summary>
            Permits the color32 to be treated as an int32
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.Quantizer.Color32.Color">
            <summary>
            Return the color for this Color32 object
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.#ctor(System.Int32,System.Int32)">
            <summary>
            Construct the octree quantizer
            </summary>
            <remarks>
            The Octree quantizer is a two pass algorithm. The initial pass sets up the octree,
            the second pass quantizes a color based on the nodes in the tree
            </remarks>
            <param name="maxColors">The maximum number of colors to return</param>
            <param name="maxColorBits">The number of significant bits</param>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Reset">
            <summary>
            Clears the octree
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Reset(System.Int32,System.Int32)">
            <summary>
            Clears the octree and reconfigures color settings
            </summary>
            <param name="maxColors"></param>
            <param name="maxColorBits"></param>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.InitialQuantizePixel(ImageResizer.Plugins.PrettyGifs.Quantizer.Color32)">
            <summary>
            Process the pixel in the first pass of the algorithm
            </summary>
            <param name="pixel">The pixel to quantize</param>
            <remarks>
            This function need only be overridden if your quantize algorithm needs two passes,
            such as an Octree quantizer.
            </remarks>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.DitherMatrix">
            <summary>
            a Floyd-Steinberg dither matrix
            new float[,] {{0,0,0},
            {0,0,0.44f},
            {0.19f,0.31f,0.06f}};
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.QuantizePixel(ImageResizer.Plugins.PrettyGifs.Quantizer.Color32)">
            <summary>
            Override this to process the pixel in the second pass of the algorithm
            </summary>
            <param name="pixel">The pixel to quantize</param>
            <returns>The quantized value</returns>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.GetPalette(System.Drawing.Imaging.ColorPalette)">
            <summary>
            Retrieve the palette for the quantized image
            </summary>
            <param name="original">Any old palette, this is overrwritten</param>
            <returns>The new color palette</returns>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer._octree">
            <summary>
            Stores the tree
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer._maxColors">
            <summary>
            Maximum allowed color depth
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Dither">
            <summary>
            Uses a Floyd-Steinberg dither
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree">
            <summary>
            Class which does the actual quantization
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.#ctor(System.Int32)">
            <summary>
            Construct the octree
            </summary>
            <param name="maxColorBits">The maximum number of significant bits in the image</param>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.AddColor(ImageResizer.Plugins.PrettyGifs.Quantizer.Color32)">
            <summary>
            Add a given color value to the octree
            </summary>
            <param name="pixel"></param>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.Reduce">
            <summary>
            Reduce the depth of the tree
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.TrackPrevious(ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode)">
            <summary>
            Keep track of the previous node that was quantized
            </summary>
            <param name="node">The node last quantized</param>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.Palletize(System.Int32)">
            <summary>
            Convert the nodes in the octree to a palette with a maximum of colorCount colors
            </summary>
            <param name="colorCount">The maximum number of colors</param>
            <returns>An arraylist with the palettized colors</returns>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.GetPaletteIndex(ImageResizer.Plugins.PrettyGifs.Quantizer.Color32)">
            <summary>
            Get the palette index for the passed color
            </summary>
            <param name="pixel"></param>
            <returns></returns>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.mask">
            <summary>
            Mask used when getting the appropriate pixels for a given node
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree._root">
            <summary>
            The root of the octree
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree._leafCount">
            <summary>
            Number of leaves in the tree
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree._reducibleNodes">
            <summary>
            Array of reducible nodes
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree._maxColorBits">
            <summary>
            Maximum number of significant bits in the image
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree._previousNode">
            <summary>
            Store the last node quantized
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree._previousColor">
            <summary>
            Cache the previous color quantized
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.Leaves">
            <summary>
            Get/Set the number of leaves in the tree
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.ReducibleNodes">
            <summary>
            Return the array of reducible nodes
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode">
            <summary>
            Class which encapsulates each node in the tree
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode.#ctor(System.Int32,System.Int32,ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree)">
            <summary>
            Construct the node
            </summary>
            <param name="level">The level in the tree = 0 - 7</param>
            <param name="colorBits">The number of significant color bits in the image</param>
            <param name="octree">The tree to which this node belongs</param>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode.AddColor(ImageResizer.Plugins.PrettyGifs.Quantizer.Color32,System.Int32,System.Int32,ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree)">
            <summary>
            Add a color into the tree
            </summary>
            <param name="pixel">The color</param>
            <param name="colorBits">The number of significant color bits</param>
            <param name="level">The level in the tree</param>
            <param name="octree">The tree to which this node belongs</param>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode.Reduce">
            <summary>
            Reduce this node by removing all of its children
            </summary>
            <returns>The number of leaves removed</returns>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode.ConstructPalette(System.Collections.ArrayList,System.Int32@)">
            <summary>
            Traverse the tree, building up the color palette
            </summary>
            <param name="palette">The palette</param>
            <param name="paletteIndex">The current palette index</param>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode.GetPaletteIndex(ImageResizer.Plugins.PrettyGifs.Quantizer.Color32,System.Int32)">
            <summary>
            Return the palette index for the passed color
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode.FindClosestMatch(ImageResizer.Plugins.PrettyGifs.Quantizer.Color32)">
            <summary>
            Added may 19-09. Should help with dithering.
            </summary>
            <param name="pixel"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode.Increment(ImageResizer.Plugins.PrettyGifs.Quantizer.Color32)">
            <summary>
            Increment the pixel count and add to the color information
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode._leaf">
            <summary>
            Flag indicating that this is a leaf node
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode._pixelCount">
            <summary>
            Number of pixels in this node
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode._red">
            <summary>
            Red component
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode._green">
            <summary>
            Green Component
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode._blue">
            <summary>
            Blue component
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode._children">
            <summary>
            Pointers to any child nodes
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode._nextReducible">
            <summary>
            Pointer to next reducible node
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode._paletteIndex">
            <summary>
            The index of this node in the palette
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode.NextReducible">
            <summary>
            Get/Set the next reducible node
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.PrettyGifs.OctreeQuantizer.Octree.OctreeNode.Children">
            <summary>
            Return the child nodes
            </summary>
        </member>
    </members>
</doc>
